
CCP Atropos

|
Posted - 2010.12.22 20:17:00 -
[1]
Originally by: Tres Farmer
Originally by: Ytamii Arval I just can't understand why any dev time is being wasted like this. The UI has so many problems, why redesign one of the few parts that isn't broken?
Cause CCP is programming for WoD too now. Everything they do that isn't really related to EVE-Spaceship alone any more will be coded under the Carbon Architecture.
This means: WoD needs a brandnew Neocom to interface to the brandnew client. Eve has got a stone old hardcoded Neocom, that interfaces the client directly. Eve will be corified more and more and parts of the code won't belong directly to either WoD nor Eve alone. The new Neocom from WoD will have to interface to those corified parts of the code. Eve's old Neocom won't be rewritten to be able to do that. We'll get a new Neocom for Eve as it will be the Neocom code WoD will be using. We will be guinea pigs. 
I'd like to take this opportunity to jump in and correct you on some of the Carbon issues you've been discussing. Before I start, I'd like to stress that I'm not a UI programmer, or anything related to the Neocom project at all; I am however a member of the Core group responsible, in part, for Carbon.
You're mostly correct about what the Carbon architecture means, but you're a little off base by saying that this new Neocom is being developed because WOD requires one.
The process of corification is that of taking older code that can be reused, and refactoring out it's game agnostic components to create a framework that we can use elsewhere. In any software project refactoring is generally a good idea; it allows you to revisit the original design goals, and to review as to whether or not those goals were achieved. In this case, since we're corifying a piece of software, it also allows us to not only refactor it into a more generic framework, but also to draw up a list of requirements about what each end product will need. In this case, the Carbon codebase will be used in any CCP product; EVE, WOD and any future game we might make based upon this shared technology.
In the case of the UI, many would agree that it's long required an overhaul. The trouble was that it was a house of cards; code was written on top of older code stretching back to the original sins of EVE's development. As such, adding new functionality into that codebase simply makes your job harder.
You would need to know the intricacies of the older code, plus know how to shoehorn your new designs and requirements into it in such a way that it doesn't break everything else. It's better in this case to rewrite the entire thing. This was undertaken over the summer; the entire framework that the UI was based around was rewritten to take into account the needs of a more generic framework, as well as that of a modern game UI. Having started development on a second prouduct (or more if you factor in our numerous internal tools) many of the assumptions made about use cases for the code were revisited. This new paradigm is now bearing fruit in CCP Optimal's Neocom redesign, however it's not the only area that's come under scrutiny as part of the corification project; network architecture, service layers, UI framework, build processes, ... the list goes on. The emphasis is not on using EVE as a guinea pig, but rather to pause, take stock of much of the codebase we've developed over the years and to do some much needed housekeeping on it.
The development of other projects doesn't mean that our focus and goals shift, it rather means that we must be more progressive and adaptable in our frameworks, which results in better, more easily maintainable code being written.
As I mentioned before, many of the original sins from EVE's creation can now be addressed, and hopefully all will benefit from it as a result.
Software Engineer Core Engineering |